﻿using System;
namespace Light.Utility.OAuth
{

    /// <summary>
    /// 应用类型
    /// </summary>
    public enum AppType
    {
        /// <summary>
        /// 移动应用
        /// </summary>
        Mobile,

        /// <summary>
        /// 网站应用
        /// </summary>
        Website,
    }

    /// <summary>
    /// OAuth基本信息
    /// </summary>
    [Serializable]
    public class OAuthConfig
    {
        /// <summary>
        /// 指定默认的应用类型为移动应用
        /// </summary>
        public OAuthConfig()
        {
            AppType = AppType.Mobile;
        }


        /// <summary>
        /// 应用类型（影响获取授权code的URL）
        /// </summary>
        public AppType AppType { get; set; }

        /// <summary>
        /// OAuth名称
        /// </summary>
        public string Name
        {
            get;
            set;
        }

        /// <summary>
        /// APP ID
        /// </summary>
        public string AppId
        {
            get;
            set;
        }

        /// <summary>
        /// APP KEY
        /// </summary>
        public string AppKey
        {
            get;
            set;
        }

        /// <summary>
        /// 回传的URL
        /// </summary>
        public string ReturnUrl
        {
            get;
            set;
        }

        /// <summary>
        /// 微信授权作用域名（snsapi_base 或 snsapi_userinfo）
        /// </summary>
        public string Scope
        {
            get;
            set;
        }

        /// <summary>
        /// 微信重定向后会带上state参数，开发者可以填写a-zA-Z0-9的参数值，最多128字节
        /// </summary>
        public string State
        {
            get;
            set;
        }
    }
}
